#define _CRT_SECURE_NO_WARNINGS 1
#include "Stack.h"
#include "Queue.h"

void TestStack1()
{
	ST st;
	StackInit(&st);
	StackPush(&st,1);
	StackPush(&st,2);
	StackPush(&st,3);
	StackPush(&st,4);

}
void TestQueue1()
{
	QList q;
	QueueInit(&q);

	QueuePush(&q, 1);
	QueuePush(&q, 2);
	QueuePush(&q, 3);
	QueuePush(&q, 4);

	while (!QueueEmpty(&q))
	{
		QDataType front = QueueFront(&q);
		printf("%d ", front);
		QueuePop(&q);
	}
	printf("\n");

}

void TestStack2()
{
	ST st;
	StackInit(&st);
	StackPush(&st, 1);
	StackPush(&st, 2);
	StackPush(&st, 3);
	StackPush(&st, 4);

	while (!StackEmpty(&st))
	{
		printf("%d ", StackTop(&st));
		StackPop(&st);
	}

	StackDestroy(&st);
}

//typedef struct {
//	QList q1;
//	QList q2;
//} MyStack;
//
//MyStack* myStackCreate() {
//
//}
//
//void myStackPush(MyStack* obj, int x) {
//
//}
// 
//int main()
//{
//	MyStack* st = myStackCreate();
//	myStackPush(st, 1);
//	myStackPush(st, 1);
//	myStackPush(st, 1);
//
//	return 0;
//}

int main()
{
	//TestStack1();
	//TestStack2();
	TestQueue1();

	return 0;
}